SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
  
CREATE PROCEDURE [dbo].[SP_TMDOCU_CLIE_Q60]                                       
                                    
/*-------------------------------------------------------*/                                          
/*---Empresa              : OFISIS S.A.                --*/                                          
/*---Cliente              : OFISIS                 --*/                                          
/*---Sistema              : Tesoreria                  --*/                                          
/*---M©dulo               : Empresa                    --*/                                          
/*---Programa             : Registro de Ventas     --*/                                           
/*---                              --*/                                          
/*---Script               : tmdocu_clie.sql               --*/                                          
/*---Nombre SP            : SP_TMDOCU_CLIE_Q60        --*/                                          
/*---Desarrollado por     : Alberto Escribano           --*/                                          
/*---Fecha Creaci©n       : 18/07/2011              --*/                                          
/*---Base Datos           : Microsoft Sql Server       --*/                                          
/*---Versi©n              : 7.0                        --*/                                          
/*---Invoca a SP          :                            --*/                                          
/*-------------------------------------------------------*/                                          
/*-------------------------------------------------------*/                                          
/*-------------------------------------------------------*/                                          
/* --EXEC SP_TMDOCU_CLIE_Q60 '01','SOL','DOL','C', 'V','O',                                   
'And TMDOCU_CLIE.CO_CLIE >= "10412585343" And TMDOCU_CLIE.CO_CLIE <= "10412585343" ',' Order by  1 ','1','D'  --*/                                      
/*-------------------------------------------------------*/                                          
/* --                
EXEC SP_TMDOCU_CLIE_Q60 '01',                              
 " And  TMDOCU_CLIE.FE_EMIS >=  convert(datetime,'01/01/2010',103) And                                    
 TMDOCU_CLIE.FE_EMIS <=  convert(datetime ,'31/03/2010',103) ",'3','1','M','T'  --*/                                      
/*-------------------------------------------------------*/                                       
                                                                                                                                  
@ISCO_EMPR              TD_VC_002,                                                                                                                                                       
@ISCA_WHER_LOCA         Varchar(8000),                                     
@ISTI_REP1              TD_VC_001,                    
@ISTI_REPO              TD_VC_001,                    
@ISTI_REPO_0002         TD_VC_001,                                    
@ISTI_REPO_0000         TD_VC_001                  
As                                                                                            
                                                                                                               
Declare                                                                                    
@VSOR_SELE               Varchar(100),                      
@VNIM_MAXI_NRET          TD_NU_016_004,               
@VSCO_MONE_NACI    TD_VC_003,                                                      
@VSCO_MONE_EXTR    TD_VC_003,                                                      
@VSTI_CAMB_PANT     TD_VC_001,                                                      
@VSTI_ORIG_PANT     TD_VC_001,                                                      
@VSCO_TIAU_CLIE    TD_VC_001                    
                   
                      
                      
                      
create  Table #TWDOCU_CLIE_FTEERFU                                                                    
                           
                                      
(FE_EMIS         DateTime NULL,               
NU_ASTO   Varchar(10) NULL,                                       
FE_OPVE   DateTime NULL,             
CO_SUNA   Varchar(3) NULL,                                        
NO_DOCU   Varchar(60) NULL,                                       
CO_TIPO_DOCU Varchar(3) NULL,                                       
NU_DOCU_CLIE Varchar(30) NULL,                                        
FA_TIPO_CAMB Numeric(15,6) NULL,                                        
CO_RUCS   Varchar(100) NULL,                                      
CO_DOCU_SUNA Varchar(20) NULL,                                      
NU_DOCU_SUNA Varchar(20) NULL,                                      
NO_CORT_CLIE Varchar(200) NULL,                                      
IM_BASE_IMPO Numeric(16,4) NULL,                    
IM_SELE_CONS Numeric(16,4) NULL,                                       
IM_INAF_NACI Numeric(16,4) NULL,                                       
IM_EXON_NACI Numeric(16,4) NULL,                                       
IM_EXPO   Numeric(16,4) NULL,                                       
IM_IMP1   Numeric(16,4) NULL,                                  
IM_IMP2   Numeric(16,4) NULL,                                       
IM_TOTA_NACI Numeric(16,4) NULL,                                       
ST_SIGN   Varchar(1) NULL,                                        
CO_ESTA_DOCU Varchar(3) NULL,                                      
CO_SUNA_ORIG Varchar(2) NULL,                                      
NU_DOCU_ORIG Varchar(100) NULL,                                      
FE_DOCU_ORIG DateTime NULL,                                      
CO_CLIE   Varchar(30) NULL,                                  
                                  
NO_AUXI   Varchar(152) NULL,                                        
DE_MONE   Varchar(50) NULL,                                   
IM_AFEC_CONT Numeric(16,4) NULL,                                  
IM_INAF_CONT Numeric(16,4) NULL,                                   
IM_IMP1_CONT Numeric(16,4) NULL,                                  
IM_IMP2_CONT Numeric(16,4) NULL,                                  
IM_TOTA_CONT Numeric(16,4) NULL,                
IM_AFEC_CONT_PAR1 Numeric(16,4) NULL,                                  
IM_INAF_CONT_PAR1 Numeric(16,4) NULL,                                   
IM_IMP1_CONT_PAR1 Numeric(16,4) NULL,                                  
IM_IMP2_CONT_PAR1 Numeric(16,4) NULL,                                  
IM_TOTA_CONT_PAR1 Numeric(16,4) NULL,                
IM_AFEC_CONT_FIN1 Numeric(16,4) NULL,                                  
IM_INAF_CONT_FIN1 Numeric(16,4) NULL,                                   
IM_IMP1_CONT_FIN1 Numeric(16,4) NULL,                                  
IM_IMP2_CONT_FIN1 Numeric(16,4) NULL,                                  
IM_TOTA_CONT_FIN1 Numeric(16,4) NULL,                                       
CO_MONE   Varchar(3) NULL,                      
                      
CO_RUCC_0001    Varchar(200) NULL,                                                                                 
NO_CORT_CLIE_0001 Varchar(200) NULL,                      
                      
                      
IM_BASE_IMPO_PAR1 Numeric(16,4) NULL,                      
IM_SELE_CONS_PAR1 Numeric(16,4) NULL,                      
IM_INAF_NACI_PAR1 Numeric(16,4) NULL,                      
IM_EXON_NACI_PAR1 Numeric(16,4) NULL,                      
IM_EXPO_PAR1  Numeric(16,4) NULL,                      
IM_IMP1_PAR1  Numeric(16,4) NULL,                      
IM_IMP2_PAR1  Numeric(16,4) NULL,                      
IM_TOTA_NACI_PAR1 Numeric(16,4) NULL,                      
                      
IM_BASE_IMPO_FIN1 Numeric(16,4) NULL,                      
IM_SELE_CONS_FIN1 Numeric(16,4) NULL,                      
IM_INAF_NACI_FIN1 Numeric(16,4) NULL,                      
IM_EXON_NACI_FIN1 Numeric(16,4) NULL,                      
IM_EXPO_FIN1  Numeric(16,4) NULL,                      
IM_IMP1_FIN1  Numeric(16,4) NULL,                      
IM_IMP2_FIN1  Numeric(16,4) NULL,                      
IM_TOTA_NACI_FIN1 Numeric(16,4) NULL,                      
DE_FINA_0001  Varchar(2000) NULL,             
                      
VA_ORDE_0001    Int NULL,                                                                                   
VA_ORDE_GENE    Int NULL,                      
ST_FLAG_VISU    Varchar(1) NULL,           
DE_FINN_REPO    Varchar(200) NULL,                      
ST_FLFI_REPO    Varchar(1) default 'N',                      
ST_FLAG_VIFI    Varchar(1) default 'N'                       
                      
)                      
                           
                      
             
If @ISCA_WHER_LOCA IS NULL                                                       
Begin                                                       
 Select @ISCA_WHER_LOCA = ' '                                                      
End                          
                    
If @ISTI_REPO IS NULL                                                       
Begin                                                       
 Select @ISTI_REPO = ''                                                      
End                                                
                                                    
                    
Select @VSTI_CAMB_PANT  = TI_CAMB, @VSTI_ORIG_PANT = TI_ORIG  From TTFACA_OPCI                                                                  
Where CO_EMPR = @ISCO_EMPR                                     
And CO_MODU = 'TEEM0001'                                                                  
And CO_MENU = 'FTEEMBA'                                                                  
                                                                  
If ( @VSTI_CAMB_PANT Is Null Or @VSTI_ORIG_PANT Is Null )                                                                
   Select @VSTI_CAMB_PANT  = TI_CAMB, @VSTI_ORIG_PANT = TI_ORIG,                                                            
   @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR,                                                            
   @VSCO_TIAU_CLIE = CO_TIAU_CLIE,                                                            
   @VNIM_MAXI_NRET = IM_MAXI_NRET                                                      
   From TMPARA_TESO                                              
   Where CO_EMPR = @ISCO_EMPR                                                                  
Else                                                                  
   Select @VSCO_MONE_NACI = CO_MONE_DEFA,                                                             
   @VSCO_MONE_EXTR = CO_MONE_EXTR,                                                            
   @VSCO_TIAU_CLIE = CO_TIAU_CLIE,                                                 
   @VNIM_MAXI_NRET = IM_MAXI_NRET                                                            
 From TMPARA_TESO                                                                  
   Where CO_EMPR = @ISCO_EMPR                          
                               
                                     
                                      
If @ISTI_REPO_0002 = 'O'                                                                  
Begin                                              
                
                
                
-- ORDEN CASO OPCION OFICIAL                                              
                          
 If @ISTI_REPO = '1'                            
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 4,VA_ORDE_0001, FE_EMIS'                                                       
  End                     
                                             
      
 If @ISTI_REPO = '2'                                                    
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 4,VA_ORDE_0001,6,7 '                                                       
  End                      
        
 -----cliente                    
  If @ISTI_REPO = '3'                            
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE,12,VA_ORDE_0001,1'                                                           
  End                                                      
                                              
 If @ISTI_REPO = '4'                                                      
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 4,VA_ORDE_0001,1'                                                       
  End                                                      
                                                       
 If @ISTI_REPO = '5'                                                 
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 7,VA_ORDE_0001,3'                                                       
  End                
                       
                                                    
   Exec('Insert Into #TWDOCU_CLIE_FTEERFU                         
   (FE_EMIS,NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                        
   CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                                       
   IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                                      
   NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,VA_ORDE_0001,ST_FLAG_VISU)                                 
   Select TMDOCU_CLIE.FE_EMIS AS FE_EMIS,TMDOCU_CLIE.NU_ASTO,DBO.FU_FECH_COBR ("' + @ISCO_EMPR + '",                                      
    TMDOCU_CLIE.CO_CLIE, TMDOCU_CLIE.CO_TIPO_DOCU, TMDOCU_CLIE.NU_DOCU_CLIE, TMDOCU_CLIE.FE_VENC) AS FE_OPVE,                                      
    TTDOCU_CNTB.CO_SUNA,                                      
    TTDOCU_CNTB.NO_DOCU,                      
    TMDOCU_CLIE.CO_TIPO_DOCU,                                      
    TMDOCU_CLIE.NU_DOCU_CLIE,                                      
                                     
                                         
                                         
                                         
                                         
    Case When TMDOCU_CLIE.CO_MONE = "' + @VSCO_MONE_NACI + '" Then Null Else                                      
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, "1","' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                      
  "' + @VSCO_MONE_EXTR + '" , TMDOCU_CLIE.FA_TIPO_CAMB), 2) End As FA_TIPO_CAMB ,                                      
                                         
  TMAUXI_EMPR.NU_RUCS,                                      
  TMAUXI_EMPR.CO_DOCU_SUNA,                                      
  TMAUXI_EMPR.NU_DOCU_SUNA,                                      
  CASE WHEN TMAUXI_EMPR.TI_PERS_SUNA = "N" THEN                                      
     TMAUXI_EMPR.AP_PATE_AUXI + " "+ TMAUXI_EMPR.AP_MATE_AUXI + " " + TMAUXI_EMPR.NO_NATU_AUX1 + " "+ TMAUXI_EMPR.NO_NATU_AUX2                                      
     ELSE TMAUXI_EMPR.NO_AUXI END As NOMB_CLIE,                                      
                       
                       
   CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                        
  CASE WHEN NOT ( TMAUXI_EMPR.TI_PERS_SUNA = "03"  And TMDOCU_CLIE.IM_IMP1 = "0" )                                      
   THEN CASE TTDOCU_CNTB.ST_DOCU_0010                                      
     WHEN "N" THEN Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '",                                      
    CASE WHEN (T6.CO_SUNA  = "07" or T6.CO_SUNA  = "08") THEN TMDOCU_CLIE.FE_DOCU_ORIG ELSE TMDOCU_CLIE.FE_EMIS END, (TMDOCU_CLIE.IM_BRUT_AFEC + TMDOCU_CLIE.IM_GAFI - TMDOCU_CLIE.IM_DCT1                                      
  -   TMDOCU_CLIE.IM_DCT2),"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '", "' + @VSCO_MONE_EXTR + '" , TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                      
                                         
    ELSE 0                                      
     END                                      
    ELSE 0.00                  
 END                
  ELSE 0.00                
    END                 
                                    
  AS BASE_IMPO,                                      
                                    
     0.00 AS IM_SELE_CONS,                                      
                                         
     CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                      
    CASE WHEN TMDOCU_CLIE.IM_BRUT_INAF != "0" AND TMDOCU_CLIE.IM_BRUT_EXON = "0" THEN                                      
    CASE                                      
    WHEN NOT ( TMAUXI_EMPR.TI_PERS_SUNA = "03"                                  And TMDOCU_CLIE.IM_IMP1 = "0" )                             
   THEN                                      
    Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE,                                      
  "' + @VSCO_MONE_NACI + '", CASE WHEN (T6.CO_SUNA  = "07" or T6.CO_SUNA  = "08") THEN TMDOCU_CLIE.FE_DOCU_ORIG ELSE TMDOCU_CLIE.FE_EMIS END , TMDOCU_CLIE.IM_BRUT_INAF,"' + @VSTI_CAMB_PANT + '",                                      
  "' + @VSTI_ORIG_PANT + '", "S",                                      
 "' + @VSCO_MONE_NACI + '",                                      
  "' + @VSCO_MONE_EXTR + '" , TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                      
   ELSE 0.00                                      
    END ELSE 0.00 END                 
     ELSE 0.00                
    END                                      
                                         
                                         
    AS BASE_INAFE,                                      
                                         
       CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN              
  CASE WHEN TMDOCU_CLIE.IM_BRUT_INAF = "0" AND TMDOCU_CLIE.IM_BRUT_EXON != "0" THEN                                 
  CASE                                      
     WHEN NOT ( TMAUXI_EMPR.TI_PERS_SUNA = "03"                                     
    And TMDOCU_CLIE.IM_IMP1 = "0" )                                      
    THEN                                      
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE,                                      
  "' + @VSCO_MONE_NACI + '", CASE WHEN (T6.CO_SUNA  = "07" or T6.CO_SUNA  = "08") THEN TMDOCU_CLIE.FE_DOCU_ORIG ELSE TMDOCU_CLIE.FE_EMIS END, TMDOCU_CLIE.IM_BRUT_EXON,"' + @VSTI_CAMB_PANT + '",                                      
  "' + @VSTI_ORIG_PANT + '", "S",                                      
                                          
  "' + @VSCO_MONE_NACI + '",                                      
  "' + @VSCO_MONE_EXTR + '" , TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                      
   ELSE 0.00                                      
  END ELSE 0.00 END                 
                  
                      
    ELSE 0.00                
    END                  
                                       
                                         
  AS BASE_EXONE,                 
                  
        CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                    
    CASE WHEN ( TMAUXI_EMPR.TI_PERS_SUNA = "03"                                     
    And TMDOCU_CLIE.IM_IMP1 = "0" )                                      
   THEN              
    Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '",                                      
    CASE WHEN (T6.CO_SUNA  = "07" or T6.CO_SUNA  = "08") THEN TMDOCU_CLIE.FE_DOCU_ORIG ELSE TMDOCU_CLIE.FE_EMIS END, (TMDOCU_CLIE.IM_BRUT_INAF + TMDOCU_CLIE.IM_BRUT_AFEC + IM_BRUT_EXON),                                      
    "' + @VSTI_CAMB_PANT + '",                                      
    "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                              
    "' + @VSCO_MONE_EXTR + '" , TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                      
                                         
    ELSE 0.00                                      
    END                 
    ELSE 0.00                                      
    END                                      
    AS IM_EXPO,                                      
                            
                            
       CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                        
    CASE WHEN NOT ( TMAUXI_EMPR.TI_PERS_SUNA = "03" And TMDOCU_CLIE.IM_IMP1 = "0" )                                      
   THEN                                      
    Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE,                                      
    "' + @VSCO_MONE_NACI + '", CASE WHEN (T6.CO_SUNA  = "07" or T6.CO_SUNA  = "08") THEN TMDOCU_CLIE.FE_DOCU_ORIG ELSE TMDOCU_CLIE.FE_EMIS END,                                      
    ( ( TMDOCU_CLIE.IM_IMP1 * PATINDEX( SUBSTRING( ISNULL( TMDOCU_CLIE.CO_IMP1, "0"), 1, 2), "IG" ) ) +                                      
      ( TMDOCU_CLIE.IM_IMP2 * PATINDEX( SUBSTRING( ISNULL( TMDOCU_CLIE.CO_IMP2, "0"), 1, 2), "IG" ) ) +                                      
      ( TMDOCU_CLIE.IM_IMP3 * PATINDEX( SUBSTRING( ISNULL( TMDOCU_CLIE.CO_IMP3, "0"), 1, 2), "IG" ) ) ) ,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '", "' + @VSCO_MONE_EXTR + '" ,                                    
  
    TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                      
    ELSE 0.00                                      
    END                
    ELSE 0.00                
    END                                        
    AS IMP1,                                      
    0.00 AS IMP2,                   
                    
      CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                   
   Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE,                                      
   "' + @VSCO_MONE_NACI + '", CASE WHEN (T6.CO_SUNA  = "07" or T6.CO_SUNA  = "08") THEN TMDOCU_CLIE.FE_DOCU_ORIG ELSE TMDOCU_CLIE.FE_EMIS END,                                      
   TMDOCU_CLIE.IM_TOTA,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                      
   "' + @VSCO_MONE_EXTR + '" , TMDOCU_CLIE.FA_TIPO_CAMB), 2)  ELSE 0.000 END AS TOTAL,                                      
                                         
TTDOCU_CNTB.ST_SIGN AS SIGNO,                                      
   TMDOCU_CLIE.CO_ESTA_DOCU AS ESTADO,                                      
   T5.CO_SUNA AS CODIGO_SUNAT_ORIG,                                      
   TMDOCU_CLIE.NU_DOCU_ORIG AS DOCUMENTO_ORIG,                                      
   TMDOCU_CLIE.FE_DOCU_ORIG AS FE_DOCU_ORIG,                                      
   TMDOCU_CLIE.CO_CLIE AS CO_CLIE,2,"N"                                    
   From TMDOCU_CLIE                                      
   Left Outer join TTDOCU_CNTB T5                                      
   On  TMDOCU_CLIE.TI_DOCU_ORIG = T5.TI_DOCU                                      
   Inner Join TTDOCU_CNTB T6                          
   On  TMDOCU_CLIE.CO_TIPO_DOCU = T6.TI_DOCU,                                      
   TMAUXI_EMPR, TTDOCU_CNTB, TMPARA_TESO                          
                             
   Where 1 = 1  ' + @ISCA_WHER_LOCA + '    
   And  TMDOCU_CLIE.CO_EMPR  = "' + @ISCO_EMPR  + '"                                      
   And TMAUXI_EMPR.CO_EMPR = TMDOCU_CLIE.CO_EMPR                                      
   And TMAUXI_EMPR.TI_AUXI_EMPR = "' + @VSCO_TIAU_CLIE  + '"                                      
   And TMAUXI_EMPR.CO_AUXI_EMPR = TMDOCU_CLIE.CO_CLIE                                      
   And TTDOCU_CNTB.TI_DOCU = TMDOCU_CLIE.CO_TIPO_DOCU                                      
   And TTDOCU_CNTB.ST_REGI_VENT = "S"                                      
   And TMPARA_TESO.CO_EMPR = TMDOCU_CLIE.CO_EMPR')          
                      
                      
                      
                      
------------------------------------------------------------------------------------------------------------------                      
                                          
                                                      
-------------------------------------------------------------------------------------------------------                      
                                
If @ISTI_REP1 = '1'                    
Begin                
            
            
                     
                      
 if @ISTI_REPO in ( '1','2','4')                    
 Begin                     
                         
   if @ISTI_REPO_0000 = 'P'             
   Begin                    
       if @ISTI_REPO <> '4'                
       begin                
    Insert Into #TWDOCU_CLIE_FTEERFU                        
   (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                        
    CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                                       
    IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                                      
    NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,VA_ORDE_0001,CO_RUCC_0001,NO_CORT_CLIE_0001,ST_FLAG_VISU)                        
                          
    Select                                                      NULL,       NULL,   NULL, CO_SUNA,MAX(NO_DOCU),NULL,NULL,NULL,                      
     NULL,NULL,NULL,NULL,0,0,0,                      
     0,0,0,0,0,NULL,NULL,NULL,                      
     NULL,NULL,NULL,1,' ' + CO_SUNA,Max(NO_DOCU),'S'                      
     from #TWDOCU_CLIE_FTEERFU                      
     Group By CO_SUNA                         
                        
                        
                       
    --GRABA TOTALES QUIEBRES(EN LOS TOTALES DEBE VALIDAR EL SIGNO DEL DOC Y EL ESTADO DEL MISMO)                                                       
    Insert Into #TWDOCU_CLIE_FTEERFU                                                      
    (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                        
    CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                                       
    IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                                      
    NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                      
                          
    IM_BASE_IMPO_PAR1,IM_SELE_CONS_PAR1,IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_EXPO_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
    IM_TOTA_NACI_PAR1,VA_ORDE_0001,ST_FLAG_VISU)                               
    Select                                                       
    NULL,       NULL,   NULL, CO_SUNA,MAX(NO_DOCU),NULL,NULL,NULL,                      
    NULL,NULL,NULL,NULL,0,0,0,                      
    0,0,0,0,0,NULL,NULL,NULL,                      
    NULL,NULL,NULL,'TOTAL',Max(NO_DOCU),                                            
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_BASE_IMPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_SELE_CONS End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                               
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                           
    End)),3,'S'                              
    From #TWDOCU_CLIE_FTEERFU                                                    
    Group By CO_SUNA                                                  
  end                      
                        
   --If @ISTI_REPO = 1                                                      
   --Begin                                          
    --GRABA TOTALES FINALES                                                      
    Insert Into #TWDOCU_CLIE_FTEERFU                                                       
    (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                
    CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                          
    IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                          
    NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                      
    IM_BASE_IMPO_PAR1,IM_SELE_CONS_PAR1,IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_EXPO_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
    IM_TOTA_NACI_PAR1,                      
    IM_BASE_IMPO_FIN1,IM_SELE_CONS_FIN1,IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_EXPO_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
    IM_TOTA_NACI_FIN1,VA_ORDE_0001,DE_FINA_0001, VA_ORDE_GENE,ST_FLAG_VISU,ST_FLAG_VIFI)                        
    Select                                                       
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,                      
    NULL,NULL,NULL,NULL,0,0,0,                      
    0,0,0,0,0, NULL,NULL,NULL,                      
    NULL,NULL,NULL,NULL,NULL,                                            
    0,0,0,0,0,0,0,                      
    0,                                                                
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_BASE_IMPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_SELE_CONS End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                    
    End) ),                                             
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                             
  End)),                                            
    4,'TOTAL FINAL --->' , 1,'X','S'                                                   
    From #TWDOCU_CLIE_FTEERFU                           
                      
                          
    Insert Into #TWDOCU_CLIE_FTEERFU(DE_FINN_REPO,VA_ORDE_GENE,ST_FLFI_REPO)                                                        
    Select '*** Fin del Reporte *** ',2,'S'                         
                       
              
                    
                
                         
      Exec ('Select FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                
      CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                          
      IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                          
      NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                      
      IM_BASE_IMPO_PAR1,IM_SELE_CONS_PAR1,IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_EXPO_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
      IM_TOTA_NACI_PAR1,                      
      IM_BASE_IMPO_FIN1,IM_SELE_CONS_FIN1,IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_EXPO_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
      IM_TOTA_NACI_FIN1,DE_FINA_0001,DE_FINN_REPO,ST_FLFI_REPO,ST_FLAG_VISU,ST_FLAG_VIFI                      
      From #TWDOCU_CLIE_FTEERFU                            
      Order By ' + @VSOR_SELE)                                          
  End             
            
             
 else                 
                   
  Begin            
      /*    
     Exec ('insert into #TWDOCU_CLIE_FTEERFU_0001 (FE_EMIS,                
     NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,CO_RUCS,CO_DOCU_SUNA,                
     NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,                
     IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,NU_DOCU_ORIG,FE_DOCU_ORIG )          
     Select FE_EMIS,                
     NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,CO_RUCS,CO_DOCU_SUNA,                
     NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,                
     IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,NU_DOCU_ORIG,FE_DOCU_ORIG                      
     From #TWDOCU_CLIE_FTEERFU          
     Order By ' + @VSOR_SELE)                              
       */    
       Exec ('         
     Select FE_EMIS,                
     NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,CO_RUCS,CO_DOCU_SUNA,                
     NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,                
     IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,NU_DOCU_ORIG,FE_DOCU_ORIG                      
     From #TWDOCU_CLIE_FTEERFU          
     Order By ' + @VSOR_SELE)      
  End                     
                      
End           
End             
                    
 If @ISTI_REPO  = '3'                    
 Begin               
 if @ISTI_REPO_0000 = 'P'             
 Begin                    
                    
    Insert Into #TWDOCU_CLIE_FTEERFU                        
    (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                        
    CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                                       
    IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                    
    NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,VA_ORDE_0001,CO_RUCC_0001,NO_CORT_CLIE_0001,ST_FLAG_VISU)                   
                          
    Select                                                       
  NULL,       NULL,   NULL, NULL,NULL,NULL,NULL,NULL,                      
  CO_RUCS,CO_RUCS,NULL,max(NO_CORT_CLIE),0,0,0,                      
  0,0,0,0,0,NULL,NULL,NULL                    
  ,   NULL,NULL,NULL,1,'CLIENTE : ',max(NO_CORT_CLIE),'S'                      
  from #TWDOCU_CLIE_FTEERFU                      
  Group By CO_RUCS                        
                     
                     
  --GRABA TOTALES QUIEBRES(EN LOS TOTALES DEBE VALIDAR EL SIGNO DEL DOC Y EL ESTADO DEL MISMO)                                 
    Insert Into #TWDOCU_CLIE_FTEERFU                                                      
    (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                        
    CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                                       
    IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                                      
    NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                     
    IM_BASE_IMPO_PAR1,IM_SELE_CONS_PAR1,IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_EXPO_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
    IM_TOTA_NACI_PAR1,VA_ORDE_0001,ST_FLAG_VISU)                               
    Select                                                       
  NULL,       NULL,   NULL, NULL,NULL,NULL,NULL,NULL,                      
  CO_RUCS,NULL,NULL,MAX(NO_CORT_CLIE),0,0,0,                     
    0,0,0,0,0,NULL,NULL,NULL,                      
    NULL,NULL,NULL,'TOTAL',MAX(NO_CORT_CLIE),                                            
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_BASE_IMPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                         
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_SELE_CONS End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                
    End) ),                                             
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End)),3,'S'                              
    From #TWDOCU_CLIE_FTEERFU                                                    
    Group By CO_RUCS                            
                       
                     
  --graba totales                    
                         
                     
  Insert Into #TWDOCU_CLIE_FTEERFU                                                       
    (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                
    CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                          
    IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                          
    NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                      
    IM_BASE_IMPO_PAR1,IM_SELE_CONS_PAR1,IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_EXPO_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
    IM_TOTA_NACI_PAR1,                      
    IM_BASE_IMPO_FIN1,IM_SELE_CONS_FIN1,IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_EXPO_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
    IM_TOTA_NACI_FIN1,VA_ORDE_0001,DE_FINA_0001, VA_ORDE_GENE,ST_FLAG_VISU,ST_FLAG_VIFI)                        
    Select                                                       
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,                      
    NULL,NULL,NULL,NULL,0,0,0,                      
    0,0,0,0,0, NULL,NULL,NULL,                      
    NULL,NULL,NULL,NULL,NULL,                                            
    0,0,0,0,0,0,0,                      
    0,                                                                
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_BASE_IMPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_SELE_CONS End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                             
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXPO End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                                      
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                            
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
    End) ),                                            
    Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                             
    End)),                                            
    4,'TOTAL FINAL --->' , 1,'X','S'                                                   
    From #TWDOCU_CLIE_FTEERFU                       
                     
          
    Insert Into #TWDOCU_CLIE_FTEERFU(DE_FINN_REPO,VA_ORDE_GENE,ST_FLFI_REPO)                                                        
    Select '*** Fin del Reporte *** ',2,'S'                         
                         
                
                     
                         
      Exec ('Select FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,                                
      CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS, IM_INAF_NACI,                       
      IM_EXON_NACI,IM_EXPO, IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                          
      NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                      
      IM_BASE_IMPO_PAR1,IM_SELE_CONS_PAR1,IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_EXPO_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
      IM_TOTA_NACI_PAR1,                    IM_BASE_IMPO_FIN1,IM_SELE_CONS_FIN1,IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_EXPO_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
      IM_TOTA_NACI_FIN1,DE_FINA_0001,DE_FINN_REPO,ST_FLFI_REPO,ST_FLAG_VISU,ST_FLAG_VIFI                      
      From #TWDOCU_CLIE_FTEERFU                            
      order by' + @VSOR_SELE)                      
                         
End                        
    else                 
    Begin                    
    /*    
    Exec ('insert into #TWDOCU_CLIE_FTEERFU_0001 (FE_EMIS,                
    NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,CO_RUCS,CO_DOCU_SUNA,                
    NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,                
    IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,NU_DOCU_ORIG,FE_DOCU_ORIG )          
    Select FE_EMIS,                
    NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,CO_RUCS,CO_DOCU_SUNA,                
    NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,                
    IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,NU_DOCU_ORIG,FE_DOCU_ORIG                      
    From #TWDOCU_CLIE_FTEERFU                            
    Order By ' + @VSOR_SELE)  */       
    Exec ('         
    Select FE_EMIS,                
    NU_ASTO,FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,FA_TIPO_CAMB,CO_RUCS,CO_DOCU_SUNA,                
    NU_DOCU_SUNA,NO_CORT_CLIE,IM_BASE_IMPO,IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,                
    IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,NU_DOCU_ORIG,FE_DOCU_ORIG                      
    From #TWDOCU_CLIE_FTEERFU                            
    Order By ' + @VSOR_SELE)             
    End                      
 End                    
End                
                   
  If @ISTI_REP1 = '2'                      
  Begin             
        
      
       
  if @ISTI_REPO_0000 ='P'      
 Begin                             
              
                       
 Exec('Select MAX(CO_SUNA),NO_DOCU,SUM(IM_BASE_IMPO),                                  
 SUM(IM_SELE_CONS),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),SUM(IM_EXPO),SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),MAX(ST_SIGN)                                
 from #TWDOCU_CLIE_FTEERFU                      
 where CO_ESTA_DOCU != "ANU"                               
 group by NO_DOCU order by 1')        
       
 End       
 Else       
       
 Begin      
/* Exec('insert into #TWDOCU_CLIE_FTEERFU_0001 (CO_SUNA,NO_DOCU,IM_BASE_IMPO,                                  
 IM_SELE_CONS,IM_INAF_NACI,IM_EXON_NACI,IM_EXPO,IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN)                                
 Select MAX(CO_SUNA),NO_DOCU,SUM(IM_BASE_IMPO),                                  
 SUM(IM_SELE_CONS),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),SUM(IM_EXPO),SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),MAX(ST_SIGN)      
 from #TWDOCU_CLIE_FTEERFU                      
 where CO_ESTA_DOCU != "ANU"              
 group by NO_DOCU order by 1')    
 */     
 Exec('                               
 Select MAX(CO_SUNA),NO_DOCU,SUM(IM_BASE_IMPO),                                  
 SUM(IM_SELE_CONS),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),SUM(IM_EXPO),SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),MAX(ST_SIGN)      
 from #TWDOCU_CLIE_FTEERFU                      
 where CO_ESTA_DOCU != "ANU"                               
 group by NO_DOCU order by 1')       
 End                   
End        
        
                       
                                                  
              
                
                      
------------------------------------------------------------------------------------------------------                      
                
                 
                          
--------------------------------------------------------------------------------------------------------------                          
If @ISTI_REPO_0002 = 'M'                                                                  
Begin                  
                
-- ORDEN CASO OPCION MONEDA                                             
                          
 If @ISTI_REPO = '1'                            
  Begin                             
  Select @VSOR_SELE = ' VA_ORDE_GENE, 6,VA_ORDE_0001,3,1'                                                       
  End                     
                                             
                                         
 If @ISTI_REPO = '2'                                                    
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 6,VA_ORDE_0001,3,4 '                                                       
  End                      
                     
 -----cliente                    
  If @ISTI_REPO = '3'                            
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE,5,VA_ORDE_0001,6,1'                                                        
  End                                                      
                                              
 If @ISTI_REPO = '4'                                                      
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 6,VA_ORDE_0001,1,3'                                                       
  End                                                      
                                                       
 If @ISTI_REPO = '5'                                                      
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 7,VA_ORDE_0001,3 '                                                       
  End                            
/*                
-- ORDEN CASO OPCION OFICIAL / MONEDA                                                   
                           
 If @ISTI_REPO = '1'                            
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 3, 4,VA_ORDE_0001, FE_EMIS'                                                       
  End                    
                                             
                                         
 If @ISTI_REPO = '4'                                                    
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 1,VA_ORDE_0001,3'                                                       
  End                      
                     
 -----cliente                    
  If @ISTI_REPO = '3'                            
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE,8,VA_ORDE_0001,1'                                            
  End                                                      
                                              
 If @ISTI_REPO = '2'                                                      
  Begin                 
  Select @VSOR_SELE = ' VA_ORDE_GENE, 4,VA_ORDE_0001, FE_EMIS'                                                       
  End                                                      
                                                       
 If @ISTI_REPO = '5'                                                      
  Begin                                                       
  Select @VSOR_SELE = ' VA_ORDE_GENE, 7,VA_ORDE_0001,3 '                                                       
  End                
*/                
                  
                         
  Exec('Insert Into #TWDOCU_CLIE_FTEERFU                                  
                                                                                        
  (FE_EMIS,CO_TIPO_DOCU,NO_DOCU,NU_DOCU_CLIE,CO_RUCS,NO_AUXI,CO_MONE,FA_TIPO_CAMB,IM_INAF_NACI,IM_EXON_NACI,IM_IMP1,IM_IMP2,IM_TOTA_NACI,                                  
  IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,CO_ESTA_DOCU,DE_MONE,VA_ORDE_0001,ST_FLAG_VISU)                                      
  Select                                  
  TMDOCU_CLIE.FE_EMIS,TMDOCU_CLIE.CO_TIPO_DOCU,TTDOCU_CNTB.NO_DOCU,                                  
  TMDOCU_CLIE.NU_DOCU_CLIE,TMAUXI_EMPR.NU_RUCS,TMAUXI_EMPR.NO_AUXI,                                  
  TMDOCU_CLIE.CO_MONE,                 
                                
  Case When TMDOCU_CLIE.CO_MONE = "' + @VSCO_MONE_NACI + '" Then                                  
  0.00                                  
  Else                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, "1","' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '", "' + @VSCO_MONE_EXTR + '",                              
  
    
  TMDOCU_CLIE.FA_TIPO_CAMB), 2 )                                  
  End,                                  
                   
     CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                              
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  TMDOCU_CLIE.IM_BRUT_AFEC - (PatIndex(TMDOCU_CLIE.ST_DCT1_BRAF, "S") * TMDOCU_CLIE.IM_DCT1) -  (PatIndex(TMDOCU_CLIE.ST_DCT2_BRAF, "S") * TMDOCU_CLIE.IM_DCT2)                                  
  ELSE                                  
  (TMDOCU_CLIE.IM_BRUT_AFEC - (PatIndex(TMDOCU_CLIE.ST_DCT1_BRAF, "S") * TMDOCU_CLIE.IM_DCT1) -  (PatIndex(TMDOCU_CLIE.ST_DCT2_BRAF, "S") * TMDOCU_CLIE.IM_DCT2) )*-1                                  
  END                
  ELSE 0.00                
  END,                                  
                          
    CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                              
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  TMDOCU_CLIE.IM_BRUT_INAF+TMDOCU_CLIE.IM_BRUT_EXON                                  
  ELSE                               
  TMDOCU_CLIE.IM_BRUT_INAF*-1+TMDOCU_CLIE.IM_BRUT_EXON                                 
  END                
  ELSE 0.00                
  END                
  ,                                  
                          
                 
    CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                         
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  TMDOCU_CLIE.IM_IMP1                                  
  ELSE                                  
  TMDOCU_CLIE.IM_IMP1 * -1                                  
  END                
  ELSE 0.00                
  END                
 ,                                  
                                
      CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                  
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  TMDOCU_CLIE.IM_IMP2                                  
  ELSE                                  
  TMDOCU_CLIE.IM_IMP2 * -1                                  
  END                
  ELSE 0.00                
  END                
  ,                       
                          
      CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                        
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  TMDOCU_CLIE.IM_TOTA                                  
  ELSE                                
  TMDOCU_CLIE.IM_TOTA * -1                                  
  END                
  ELSE 0.00                
  END                
 ,                                  
                                
  CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                  
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, (TMDOCU_CLIE.IM_BRUT_AFEC - (PatIndex(TMDOCU_CLIE.ST_DCT1_BRAF, "S") * TMDOCU_CLIE.IM_DCT1) -                                
  (PatIndex(TMDOCU_CLIE.ST_DCT2_BRAF, "S") * TMDOCU_CLIE.IM_DCT2)),"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                  
  Else                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, (TMDOCU_CLIE.IM_BRUT_AFEC - (PatIndex(TMDOCU_CLIE.ST_DCT1_BRAF, "S") * TMDOCU_CLIE.IM_DCT1) -                                  
  (PatIndex(TMDOCU_CLIE.ST_DCT2_BRAF, "S") * TMDOCU_CLIE.IM_DCT2)),"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2) * -1 END                                  
  ELSE 0.00                                  
  END AS IM_AFEC_CONT,                                  
                                
  CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                  
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" Then                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_BRUT_INAF,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                  
  Else                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_BRUT_INAF,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2) * -1                                  
  END                                  
  ELSE 0.00 END AS IM_INAF_CONT,                                  
                                
  CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                  
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S"                                  
  THEN                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_IMP1,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                  
  Else                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_IMP1,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2) * -1 END                                  
  ELSE 0.00 END AS IM_IMP1_CONT,                
                                
  CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                  
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_IMP2,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                  
  Else                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_IMP2,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2) * -1 END                                  
  ELSE 0.00 END AS IM_IMP2_CONT,                                  
                                
  CASE WHEN TMDOCU_CLIE.CO_ESTA_DOCU != "ANU" THEN                                  
  CASE TTDOCU_CNTB.ST_SIGN WHEN "S" THEN                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_TOTA,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '","' + @VSCO_MONE_EXTR + '",             
  TMDOCU_CLIE.FA_TIPO_CAMB), 2)                                  
  Else                                  
  Round(OFITESO.dbo.FN_TCFACT_CAMB_Q02(TMDOCU_CLIE.CO_MONE, "' + @VSCO_MONE_NACI + '", TMDOCU_CLIE.FE_EMIS, TMDOCU_CLIE.IM_TOTA,"' + @VSTI_CAMB_PANT + '", "' + @VSTI_ORIG_PANT + '", "S", "' + @VSCO_MONE_NACI + '",                                  
  "' + @VSCO_MONE_EXTR + '", TMDOCU_CLIE.FA_TIPO_CAMB), 2) * -1 END                                  
  ELSE 0.00 END AS IM_TOTA_CONT,                                  
                                
  TMDOCU_CLIE.CO_ESTA_DOCU,                                  
  TTMONE.DE_MONE,2,"N"                                   
                                
  From  TMDOCU_CLIE , TMAUXI_EMPR , TTDOCU_CNTB ,                                  
  TMPARA_TESO, TTMONE                                 
                       
  Where 1 = 1  ' + @ISCA_WHER_LOCA + '                             
  And TMDOCU_CLIE.CO_EMPR  = "' + @ISCO_EMPR  + '"                                  
  And TMAUXI_EMPR.CO_EMPR = TMDOCU_CLIE.CO_EMPR                                  
  And TMAUXI_EMPR.TI_AUXI_EMPR = "' + @VSCO_TIAU_CLIE  + '"                                 
  And TMAUXI_EMPR.CO_AUXI_EMPR = TMDOCU_CLIE.CO_CLIE                                  
  And TTDOCU_CNTB.TI_DOCU = TMDOCU_CLIE.CO_TIPO_DOCU                                  
  And TTDOCU_CNTB.ST_REGI_VENT = "S"                                  
  And TMPARA_TESO.CO_EMPR = TMDOCU_CLIE.CO_EMPR            
  AND TTMONE.CO_MONE = TMDOCU_CLIE.CO_MONE ')                   
                  
                              
                

 If @ISTI_REP1 = '3'                    
 Begin                  
           
    if @ISTI_REPO_0000 = 'P'             
   Begin               
                
    If @ISTI_REPO in ( '1','2','4')                    
    Begin                  
               
               
                  
     --GRABA TOTALES FINALES                   
                                                     
     Insert Into #TWDOCU_CLIE_FTEERFU                                                       
     (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,                                        
     CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_INAF_NACI,IM_EXON_NACI,                                      
     IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                
     IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,                       
     NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                
                     
     IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
     IM_TOTA_NACI_PAR1,                
     IM_AFEC_CONT_PAR1,IM_INAF_CONT_PAR1,IM_IMP1_CONT_PAR1,IM_IMP2_CONT_PAR1,                
     IM_TOTA_CONT_PAR1,                
     IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
     IM_TOTA_NACI_FIN1,                
     IM_AFEC_CONT_FIN1,IM_INAF_CONT_FIN1,IM_IMP1_CONT_FIN1,IM_IMP2_CONT_FIN1,IM_TOTA_CONT_FIN1,                
     VA_ORDE_0001,DE_FINA_0001,VA_ORDE_GENE,ST_FLAG_VISU,ST_FLAG_VIFI)                        
     Select                                                       
     NULL,       NULL,   NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,                  
     NULL,NULL,NULL,NULL,0,0,                     
     0,0,0,NULL,NULL,NULL,                
     0,0,0,0,0,                      
     NULL,NULL,NULL,NULL,NULL,                
     0,0,0,0,0,                
     0,0,0,0,0,                                      
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                                           
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                                                                                     
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                      
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                      
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End)),                
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_AFEC_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                                           
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                  
     End) ),                                                                                                                     
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                      
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End) ),                                                      
     Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
     End)),4,'TOTAL FINAL --->' , 1,'X','S'                                                   
     From #TWDOCU_CLIE_FTEERFU                       
              
     Insert Into #TWDOCU_CLIE_FTEERFU(DE_FINN_REPO,VA_ORDE_GENE,ST_FLFI_REPO)                                                        
     Select '*** Fin del Reporte *** ',2,'S'                       
                         
              
                         
   Exec ('Select FE_EMIS,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,                                        
   CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,                                       
   IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                
   IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,                       
   CO_RUCC_0001,NO_CORT_CLIE_0001,                
   IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
   IM_TOTA_NACI_PAR1,                
   IM_AFEC_CONT_PAR1,IM_INAF_CONT_PAR1,IM_IMP1_CONT_PAR1,IM_IMP2_CONT_PAR1,                
   IM_TOTA_CONT_PAR1,                
   IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
   IM_TOTA_NACI_FIN1,                
   IM_AFEC_CONT_FIN1,IM_INAF_CONT_FIN1,IM_IMP1_CONT_FIN1,IM_IMP2_CONT_FIN1,IM_TOTA_CONT_FIN1,                
   DE_FINA_0001,DE_FINN_REPO,ST_FLFI_REPO,ST_FLAG_VISU,ST_FLAG_VIFI                     
   From #TWDOCU_CLIE_FTEERFU                        
   Order By'+@VSOR_SELE)                  
               
   End                 
 End /*                   
 else           
             
  Begin                  
    /*    
    Exec ('insert into #TWDOCU_CLIE_FTEERFU_0001 (FE_EMIS,                
      NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,IM_IMP1,IM_IMP2,               
      IM_TOTA_NACI,IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,CO_ESTA_DOCU, ST_SIGN)          
      Select FE_EMIS,                
      NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,IM_IMP1,IM_IMP2,                
      IM_TOTA_NACI,IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,CO_ESTA_DOCU, ST_SIGN                
      From #TWDOCU_CLIE_FTEERFU                        
      Order By ' +@VSOR_SELE) */    
     -- select 'aki1'  
        
     Exec('                               
  Select MAX(CO_SUNA),NO_DOCU,SUM(IM_BASE_IMPO),                                  
  SUM(IM_SELE_CONS),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),SUM(IM_EXPO),SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),MAX(ST_SIGN)      
  from #TWDOCU_CLIE_FTEERFU                      
  where CO_ESTA_DOCU != "ANU"                               
  group by NO_DOCU order by 1')              
  End                  
               
  */               
                 
  If @ISTI_REPO = '3'  ----moneda detallado                   
  Begin                  
            
   if @ISTI_REPO_0000 = 'P'             
   Begin            
            
      ---cliente MONEDA                          
   Insert Into #TWDOCU_CLIE_FTEERFU                        
   (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,CO_MONE,FA_TIPO_CAMB,                                        
   CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_AUXI, IM_INAF_NACI,IM_EXON_NACI,                                       
   IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                                      
   NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,VA_ORDE_0001,CO_RUCC_0001,NO_CORT_CLIE_0001,ST_FLAG_VISU,                
   IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT)                        
                
                
                
   Select                                                       
   NULL,       NULL,   NULL, NULL,NULL,NULL,NULL,NULL,NULL,                      
   CO_RUCS,CO_RUCS,NULL,max(NO_AUXI),0,0,                   
   0,0,0,NULL,NULL,NULL,                    
   NULL,NULL,NULL,1,'CLIENTE :  '+CO_RUCS,max(NO_AUXI),'S',                
   0,0,0,0,0                     
   from #TWDOCU_CLIE_FTEERFU                      
   Group By CO_RUCS                
                
                  
                
   --GRABA TOTALES QUIEBRES(EN LOS TOTALES DEBE VALIDAR EL SIGNO DEL DOC Y EL ESTADO DEL MISMO)                                                       
   Insert Into #TWDOCU_CLIE_FTEERFU                                                      
   (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,CO_MONE,FA_TIPO_CAMB,                                        
   CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_AUXI,IM_INAF_NACI, IM_EXON_NACI,                                      
   IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                
   IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,                   
   NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                
   IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
   IM_TOTA_NACI_PAR1,                
   IM_AFEC_CONT_PAR1,IM_INAF_CONT_PAR1,IM_IMP1_CONT_PAR1,IM_IMP2_CONT_PAR1,IM_TOTA_CONT_PAR1,                
   VA_ORDE_0001,ST_FLAG_VISU)                               
   Select                                                       
   NULL,       NULL,   NULL,NULL,NULL,NULL,NULL,NULL,NULL,                     
   CO_RUCS,NULL,NULL,MAX(NO_AUXI),0,0,                     
   0,0,0,NULL,NULL,NULL,                
                
   0,0,0,0,0,                
                
   NULL,NULL,NULL,'TOTAL  :   '+CO_RUCS,MAX(NO_AUXI),                                            
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                                           
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                                                                                     
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                   
   End)),                
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_AFEC_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                                           
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                                                                                     
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End)),3,'S'                              
   From #TWDOCU_CLIE_FTEERFU                                                    
   Group By CO_RUCS                                       
                
   --GRABA TOTALES FINALES  MONEDA CLIENTE                 
                
   Insert Into #TWDOCU_CLIE_FTEERFU                                                       
   (FE_EMIS, NU_ASTO, FE_OPVE,CO_SUNA,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,                                        
   CO_RUCS,CO_DOCU_SUNA,NU_DOCU_SUNA,NO_CORT_CLIE,IM_INAF_NACI,IM_EXON_NACI,                                      
   IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                
   IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,                       
   NU_DOCU_ORIG,FE_DOCU_ORIG,CO_CLIE,CO_RUCC_0001,NO_CORT_CLIE_0001,                
                
   IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
   IM_TOTA_NACI_PAR1,                
   IM_AFEC_CONT_PAR1,IM_INAF_CONT_PAR1,IM_IMP1_CONT_PAR1,IM_IMP2_CONT_PAR1,                
   IM_TOTA_CONT_PAR1,                
   IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
   IM_TOTA_NACI_FIN1,                
   IM_AFEC_CONT_FIN1,IM_INAF_CONT_FIN1,IM_IMP1_CONT_FIN1,IM_IMP2_CONT_FIN1,IM_TOTA_CONT_FIN1,                
   VA_ORDE_0001,DE_FINA_0001,VA_ORDE_GENE,ST_FLAG_VISU,ST_FLAG_VIFI)                        
   Select                                                       
   NULL,       NULL,   NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,                  
   NULL,NULL,NULL,NULL,0,0,                     
   0,0,0,NULL,NULL,NULL,                
   0,0,0,0,0,                      
   NULL,NULL,NULL,NULL,NULL,                
   0,0,0,0,0,                
   0,0,0,0,0,                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                                           
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_EXON_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                      
   End) ),                                                                                                                     
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
 End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2 End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_NACI End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End)),                
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_AFEC_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                  
   End) ),                                                                           
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_INAF_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                                                                                     
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP1_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_IMP2_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End) ),                                                      
   Sum(IsNull((Case When CO_ESTA_DOCU = 'ANU' Then 0 Else IM_TOTA_CONT End),0)*(Case When ST_SIGN = 'N' Then (-1) Else 1                                              
   End)),4,'TOTAL FINAL --->' , 1,'X','S'                                                   
   From #TWDOCU_CLIE_FTEERFU                
                
       Insert Into #TWDOCU_CLIE_FTEERFU(DE_FINN_REPO,VA_ORDE_GENE,ST_FLFI_REPO)                                                        
   Select '*** Fin del Reporte *** ',2,'S'                    
                    
                   
    ------------Moneda detallado / cliente                     
                
              
              
                
    Exec ('Select FE_EMIS,NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,                                        
    CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,                                       
    IM_IMP1,IM_IMP2,IM_TOTA_NACI,ST_SIGN,CO_ESTA_DOCU,CO_SUNA_ORIG,                
    IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,                       
    CO_RUCC_0001,NO_CORT_CLIE_0001,                
    IM_INAF_NACI_PAR1,IM_EXON_NACI_PAR1,IM_IMP1_PAR1,IM_IMP2_PAR1,                      
    IM_TOTA_NACI_PAR1,                
    IM_AFEC_CONT_PAR1,IM_INAF_CONT_PAR1,IM_IMP1_CONT_PAR1,IM_IMP2_CONT_PAR1,                
    IM_TOTA_CONT_PAR1,                
    IM_INAF_NACI_FIN1,IM_EXON_NACI_FIN1,IM_IMP1_FIN1,IM_IMP2_FIN1,                      
    IM_TOTA_NACI_FIN1,                
    IM_AFEC_CONT_FIN1,IM_INAF_CONT_FIN1,IM_IMP1_CONT_FIN1,IM_IMP2_CONT_FIN1,IM_TOTA_CONT_FIN1,                
    DE_FINA_0001,DE_FINN_REPO,ST_FLFI_REPO,ST_FLAG_VISU,ST_FLAG_VIFI                     
    From #TWDOCU_CLIE_FTEERFU                        
    Order By'+@VSOR_SELE)                
End              
End               
                   
    else            
    Begin               
    /*   Exec ('insert into #TWDOCU_CLIE_FTEERFU_0001 (FE_EMIS,                
     NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,IM_IMP1,IM_IMP2,                
     IM_TOTA_NACI,IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,CO_ESTA_DOCU, ST_SIGN)          
     Select FE_EMIS,                
     NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,IM_IMP1,IM_IMP2,                
     IM_TOTA_NACI,IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,CO_ESTA_DOCU, ST_SIGN                
     From #TWDOCU_CLIE_FTEERFU                        
     Order By'+@VSOR_SELE)  */   
       
    -- select 'aki2'  
             
      Exec ('          
     Select FE_EMIS,                
     NO_DOCU,CO_TIPO_DOCU,NU_DOCU_CLIE,NO_AUXI,CO_MONE,FA_TIPO_CAMB,CO_RUCS,IM_INAF_NACI,IM_EXON_NACI,IM_IMP1,IM_IMP2,                
     IM_TOTA_NACI,IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT,CO_ESTA_DOCU, ST_SIGN                
     From #TWDOCU_CLIE_FTEERFU                        
     Order By'+@VSOR_SELE)           
    End            
  End                            
                
                 
 If @ISTI_REP1   = '4'                              
 Begin        
       
       
 if @ISTI_REPO_0000 ='P'      
  Begin                               
                
  If @ISTI_REPO in ( '1','2','3','4')                    
  Begin                 
        
        
                             
              
                                    
     Exec('Select CO_TIPO_DOCU,MAX(NO_DOCU),CO_MONE,max(FA_TIPO_CAMB),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),                              
     SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),SUM(IM_AFEC_CONT),SUM(IM_INAF_CONT),SUM(IM_IMP1_CONT),SUM(IM_IMP2_CONT),SUM(IM_TOTA_CONT)                            
     from #TWDOCU_CLIE_FTEERFU                               
     group by CO_TIPO_DOCU,CO_MONE Order By 1')                  
                
                
  End                
End      
 Else       
  Begin      
     /* Exec('insert into #TWDOCU_CLIE_FTEERFU_0001 (CO_TIPO_DOCU,NO_DOCU,CO_MONE,FA_TIPO_CAMB,IM_INAF_NACI,IM_EXON_NACI,                              
     IM_IMP1,IM_IMP2,IM_TOTA_NACI,IM_AFEC_CONT,IM_INAF_CONT,IM_IMP1_CONT,IM_IMP2_CONT,IM_TOTA_CONT)                            
     Select CO_TIPO_DOCU,MAX(NO_DOCU),CO_MONE,max(FA_TIPO_CAMB),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),                              
     SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),SUM(IM_AFEC_CONT),SUM(IM_INAF_CONT),SUM(IM_IMP1_CONT),SUM(IM_IMP2_CONT),SUM(IM_TOTA_CONT)      
     from #TWDOCU_CLIE_FTEERFU                               
     group by CO_TIPO_DOCU,CO_MONE Order By 1') */     
     Exec('                           
     Select CO_TIPO_DOCU,MAX(NO_DOCU),CO_MONE,max(FA_TIPO_CAMB),SUM(IM_INAF_NACI),SUM(IM_EXON_NACI),                              
     SUM(IM_IMP1),SUM(IM_IMP2),SUM(IM_TOTA_NACI),SUM(IM_AFEC_CONT),SUM(IM_INAF_CONT),SUM(IM_IMP1_CONT),SUM(IM_IMP2_CONT),SUM(IM_TOTA_CONT)      
     from #TWDOCU_CLIE_FTEERFU                               
     group by CO_TIPO_DOCU,CO_MONE Order By 1')    
  End       
 End      
      
                 
End          
                 
                
                
                
                
                 
                
                   
GO
